/*
 *  Disc Catalog
 *  A little application to quickly catalog and find contents of your
 *  DVD archives.
 *
 *  InspectorController.m
 *  The controller class for the shared inspector window.
 *
 *  Created by Nicola Gigante on 23/12/08.
 *  Copyright (C) 2008  Nicola Gigante
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#import "InspectorController.h"


@implementation InspectorController

@synthesize currentDocument;

InspectorController *shared = nil;
BOOL shown = FALSE;

+ (InspectorController *)sharedInspector
{
	if(!shared)
	{
		shared = [[InspectorController alloc] initWithWindowNibName:@"Inspector"];
		[[NSNotificationCenter defaultCenter] addObserver:shared selector:@selector(windowDidBecomeKey:) name:NSWindowDidBecomeKeyNotification object:nil];
		[(NSPanel *)[shared window] setBecomesKeyOnlyIfNeeded:YES];
		shared.currentDocument = [[NSDocumentController sharedDocumentController] currentDocument];
	}
	return shared;
}

- (void) windowDidBecomeKey:(NSNotification *)notif
{
	if([[[NSDocumentController sharedDocumentController] documents] count])
	{
		id doc = [[[notif object] windowController] document];
		if(doc && [doc isKindOfClass:[Document class]])
			self.currentDocument = doc;
	}else
		self.currentDocument = nil;
}

- (void) valuesChanged:(id)sender
{
	[currentDocument updateChangeCount:NSChangeDone];
}

- (void)textDidChange:(NSNotification *)aNotification
{
	[currentDocument updateChangeCount:NSChangeDone];
}

@end
